package com.pengy.shengxian.mapper;

import com.pengy.shengxian.entity.CgdDetail;
import org.apache.ibatis.annotations.Mapper;
import org.apache.ibatis.annotations.Param;

import java.util.List;

@Mapper
public interface CgdDetailMapper {
    
    /**
     * 插入采购单明细信息
     */
    int insert(CgdDetail cgdDetail);
    
    /**
     * 批量插入采购单明细信息
     */
    int batchInsert(@Param("list") List<CgdDetail> cgdDetailList);
    
    /**
     * 根据ID查询采购单明细信息
     */
    CgdDetail selectById(@Param("id") Long id);
    
    /**
     * 根据采购单主表ID查询明细信息
     */
    List<CgdDetail> selectByCgdMainId(@Param("cgdMainId") Long cgdMainId);
    
    /**
     * 根据采购单号查询明细信息
     */
    List<CgdDetail> selectByCgdCode(@Param("cgdCode") String cgdCode);
    
    /**
     * 查询所有采购单明细信息
     */
    List<CgdDetail> selectAll();
    
    /**
     * 更新采购单明细信息
     */
    int update(CgdDetail cgdDetail);
    
    /**
     * 根据ID删除采购单明细信息
     */
    int deleteById(@Param("id") Long id);
    
    /**
     * 根据采购单主表ID删除明细信息
     */
    int deleteByCgdMainId(@Param("cgdMainId") Long cgdMainId);
    
    /**
     * 根据采购单主表ID批量更新规格字段
     */
    int batchUpdateSpecsByCgdInfoId(@Param("cgdInfoId") Long cgdInfoId);
    
    /**
     * 根据采购单主表ID批量更新规格字段和商品类型字段
     */
    int batchUpdateSpecsAndTypeByCgdInfoId(@Param("cgdInfoId") Long cgdInfoId);
} 